home *** CD-ROM | disk | FTP | other *** search
- MODULE 'exec/libraries','dos/dos','intuition/intuition','intuition/intuitionbase'
- MODULE 'libraries/gadtools','images/titlebar','titlebar','intuition/gadgetclass','intuition/imageclass'
-
- DEF TitlebarImageBase:PTR TO Library
-
- PROC main()(UL)
-
- DEF scr:PTR TO Screen,win:PTR TO Window,imsg:PTR TO IntuiMessage,dri:PTR TO DrawInfo
- DEFUL class,code,done=FALSE,width=640,height=200
- DEF gad:PTR TO Gadget,i:PTR TO Image
-
- TitlebarImageBase:=OpenLibrary('images/titlebar.image',40)
- IFN TitlebarImageBase THEN RETURN RETURN_FAIL
-
- IF scr:=LockPubScreen(NIL)
- width:=scr.Width
- height:=scr.Height
- UnlockPubScreen(NIL,scr)
-
- IF dri:=GetScreenDrawInfo(scr)
- IF i:=NewObject(NIL,'tbiclass',SYSIA_Which,ICONIFYIMAGE,
- SYSIA_DrawInfo,dri,
- TAG_END)
- IF gad:=NewObject(NIL,'buttongclass',
- GA_RelRight,TBI_RELPOS(i,2),
- GA_Top,0,
- GA_Width,i.Width - 1,
- GA_Height,i.Height,
- GA_TopBorder,TRUE,
- GA_Image,i,
- GA_RelVerify,TRUE,
- TAG_END)
-
- IF win:=OpenWindowTags(NIL,WA_Left,(width - 400) / 2,
- WA_Top,(height - 250) / 2,
- WA_Width,400,WA_Height,250,
- WA_CloseGadget,TRUE,
- WA_DepthGadget,TRUE,
- WA_SizeGadget,TRUE,
- WA_DragBar,TRUE,
- WA_Gadgets,gad,
- WA_SmartRefresh,TRUE,
- WA_Activate,TRUE,
- WA_Title,'titlebar.image test',
- WA_IDCMP,IDCMP_CLOSEWINDOW|IDCMP_REFRESHWINDOW|IDCMP_GADGETUP,
- TAG_END)
-
- DEFUL a,b,t=NIL
- DEF v:PTR TO Image
- FOR a:=0 TO 2
- FOR b:=0 TO 1
- IF v:=NewObject(NIL,'tbiclass',
- SYSIA_Which,POPUPIMAGE + t++,
- SYSIA_DrawInfo,dri,
- TAG_END)
- DrawImageState(win.RPort,v,
- 50 + a * 100,50 + b * 100,
- IDS_NORMAL,dri)
-
- DrawImageState(win.RPort,v,
- 90 + a * 100,50 + b * 100,
- IDS_SELECTED,dri)
-
- DrawImageState(win.RPort,v,
- 50 + a * 100,90 + b * 100,
- IDS_INACTIVENORMAL,dri)
-
- DrawImageState(win.RPort,v,
- 90 + a * 100,90 + b * 100,
- IDS_INACTIVESELECTED,dri)
-
- WaitBlit()
- DisposeObject(v)
- ENDIF
- ENDFOR
- ENDFOR
- RemoveGadget(win,gad)
- AddGadget(win,gad,NIL)
-
- WHILE done=FALSE
- Wait(1 << win.UserPort.SigBit)
- WHILE imsg:=GetMsg(win.UserPort)
- class:=imsg.Class
- code:=imsg.Code
- ReplyMsg(imsg)
- IF class=IDCMP_CLOSEWINDOW
- done:=TRUE
- ELSEIF class=IDCMP_GADGETUP
- DisplayBeep(NIL)
- ELSEIF class=IDCMP_REFRESHWINDOW
- BeginRefresh(win)
- EndRefresh(win,TRUE)
- ENDIF
- ENDWHILE
- ENDWHILE
- CloseWindow(win)
- ENDIF
- DisposeObject(gad)
- ENDIF
- DisposeObject(i)
- ENDIF
- FreeScreenDrawInfo(scr,dri)
- ENDIF
- UnlockPubScreen(NIL,scr)
- ENDIF
- CloseLibrary(TitlebarImageBase)
- RETURN RETURN_OK
- ENDPROC
-